#!/usr/bin/env python
# -*- coding: UTF-8 -*-
'''
@Project ：图灵学习 
@File    ：19.修改闭包中的形式参数.py
@IDE     ：PyCharm 
@Author  ：ChenLiGao
@Date    ：2024-10-28 09:30
'''

"""
    global：作用于不可变对象且这个对象是一个全局的
    nonlocal：作用域不可变对象且这个对象是具有作用域的，例如函数参数
"""
def counter(start=0):
    def add():
        nonlocal start # nonlocal 是正对函数参数
        start += 1
        return start
    return add

obj = counter(10)
print(obj())

num = 10


def get_num():
    print(num)
def set_num():
    global num # global 是针对全局变量
    print(num)
    num += 1

get_num()
set_num()
print(num)